Google Ads Performance Review · Monthly

Sample Dryer Vent Co.

A plain-English review of what happened, why it happened, what we focused on, and what we're considering next — across your Google Search advertising.
Reporting period: May 18 – Jun 16, 2026 Compared to: Apr 18 – May 17, 2026 Trend: 6 months (Dec 2025 – Jun 2026) Prepared by: Activate Digital Media
Executive Summary

The 60-second read

Your account is in a strong position. Over the last six months it more than doubled monthly leads while bringing cost-per-lead down, your tracking is clean (CallRail calls + form captures), ad quality is excellent, and you lead your local auction. The one thing to watch: in the most recent 30 days your main campaign's cost-per-lead drifted above its $70 target as clicks got more expensive. That's a tuning question, not a broken account.

Biggest Win

Leads up, cost down (6-mo)

Monthly leads grew from ~69 to ~186, and cost-per-lead fell from ~$80 to a low of ~$42 in May.

Worth Watching

Main campaign above target

Its $70 Target CPA is currently delivering at $81 as clicks rose +18% ($14.65 → $17.26) over the last 30 days.

Biggest Opportunity

Cheap brand leads, capped

Your brand campaign converts at ~$10/lead but its small budget is fully spent — it misses ~18% of available brand searches.

A Strong Foundation

Tuning for growth

Nothing is broken. The gains here are about steadying cost on the main campaign and funding what's already cheap.

Report Card

Account performance at a glance

Each grade is drawn from our standard review checklist (lead volume & rate, cost efficiency vs. target, ad quality, tracking integrity, structure, budget use, and competitive position). It's a snapshot of how the account is set up to perform — not just last month's numbers.

Lead Generation
A
Cost Efficiency
B
Ad Quality
A
Conversion Tracking
A
Account Structure
A−
Budget Allocation
B
Competitive Position
B+
Overall
A−
Strong Foundation

Grades reflect account health and setup. "Cost Efficiency" and "Budget Allocation" sit at B because the main campaign is running above its CPA target this month and the brand budget is capped — both addressed in Considerations below.

What We Did & How We Manage Your Account

The work behind the numbers

Managing your account is continuous — most of the work is ongoing monitoring, analysis and strategy, not just the changes that show up in a log. Here's both: how we manage the account day to day, and the specific changes we made this period.

Daily

Monitor spend, leads and cost-per-lead; watch for anomalies, disapprovals or sudden cost shifts; review new calls and form leads in CallRail.

Weekly

Review the search-terms report and add negatives; check keyword and ad performance; adjust bids and budgets; correlate Google Ads with CallRail and your other Google properties.

Monthly

Full performance review, competitive and geographic analysis, ad-copy refreshes, and a strategy session to plan the next period against your goals.

Specific changes this period

DateWhat we changedWhy
May 29Adjusted main campaign settingsOngoing optimization toward your lead goal
Jun 1Added targeting to the main campaignExpand qualified reach
Jun 4Added 8 exact-match keywords (main campaign)Lock in proven, high-intent searches for better control
Jun 11Refreshed ad copy across 4 ads (brand & non-brand) — new offer-led messaging ("View Prices, Deals & Offers")Lift relevance, click-through and Ad Rank

Logged account changes, last 30 days. Behind these sit the daily/weekly monitoring and the monthly strategy work described above.

KPI Dashboard

Last 30 days vs. the 30 days before

An apples-to-apples comparison so every number shows direction, not just a total.

Spend
$8,982
▲ 9.9%
Leads
161
▼ 5.3%
Cost / Lead
$55.79
▲ 16.0%
Clicks
629
▼ 5.4%
Impressions
5,986
▼ 3.0%
Avg. Cost / Click
$14.28
▲ 16.2%
Click-Through Rate
10.5%
▼ 0.3 pts
Lead Rate (conv. rate)
25.6%
strong
Spend rose ~10% while leads dipped ~5%, so cost-per-lead increased — driven almost entirely by the main campaign, where click costs climbed. The brand campaign moved the other way (cheaper, more leads). Both are broken out in Campaign Performance below.
Six-Month Trend

Momentum over time

The longer view is a clear growth story — more leads each month at a falling cost-per-lead, reaching a low of ~$42 in May. June (still in progress) and the latest 30-day window show cost ticking back up, which is the signal behind this month's considerations.

Leads & Cost-per-Lead by month

Bars = leads · line = cost per lead

Spend & Avg. Cost-per-Click by month

Bars = spend · line = avg. cost per click

June 2026 is a partial month (1st–16th); its totals are lower simply because the month isn't finished. Read the shape of the line, not June's raw total.

What This Means For Your Business

Business impact

New leads
161
in 30 days
Leads per day
~5.4
steady flow
Phone leads
70%
113 calls
Form leads
30%
48 forms

From leads to revenue — the view we'll add

We have the lead numbers; the revenue picture needs one input from you (average job value + close rate). Here's the shape it takes — figures fill in once you confirm those.

StepThis periodSource
Leads generated161Confirmed from the account
Qualified leads159Confirmed via CallRail
Booked jobs[ qualified × your close rate ]Your close rate
Revenue generated[ jobs × avg job value ]Your average job value
Return on ad spend[ revenue ÷ $8,982 ]Calculated
Lead Quality Review

Not every lead is equal — here's the mix

A look at where your leads came from and what they signal about intent. Your phone leads are tracked through CallRail (our standard across all accounts), and form leads through on-site capture.

Conversion actionSourceLeads (30d)Intent read
First-Time Phone CallCallRail61High — new caller
Call From Ad ExtensionsGoogle call asset52High — clicked to call
Form CaptureWebsite form48Medium-high
Total primary leads161
Verdict: Lead tracking is clean and lead intent is strong — phone-call-led, brand-supported. And we've gone a step further: the next section pulls your CallRail data to confirm these are qualified, answered leads, not just form fills and rings.
Call & Form Insights · CallRail

Lead quality, in detail

CallRail records every call and form across all your marketing. Below we've isolated the leads driven by Google Ads (paid search) so they line up with this report. The headline: these aren't just leads — they're mostly qualified, answered, and substantial.

Paid leads (CallRail)
183
131 calls · 52 forms
Qualified leads
~88%
159 of 183
Calls answered
98.5%
only ~2 missed
First-time leads
82%
new, not repeat

Calls (paid) — 131

Answered129 98.5%
Missed (voicemail / abandoned)2
Qualified leads110 of 128 scored 86%
First-time callers110 84%
Average call length~4m 48s
Substantive calls (2 min+)107 82%

Forms (paid) — 52

Submissions52
Qualified leads49 of 50 scored 98%
New (first-time)40 77%
Returning12

When leads come in (by day)

Demand concentrates Monday–Thursday (about 78% of leads), with calls busiest 8am–3pm. Weekends are light. This supports weighting budget and responsiveness toward weekday business hours.
Verdict: Your paid search isn't just generating volume — it's generating qualified, answered, first-time enquiries. With calls answered 98.5% of the time and averaging nearly five minutes, the front-desk side is strong; the opportunity is to keep feeding it quality leads and, once we have job values, tie this to booked revenue.

Source context: CallRail tracked 166 calls and 104 forms across all your marketing this period; Google Ads (paid) drove 131 calls and 52 forms. The remainder came from organic search, direct, and your newsletter — this report covers the paid portion.

A note on "Qualified": these flags come from CallRail's lead scoring, which is reviewed by hand — so the count is only as current and accurate as the most recent review.

Search Term Insights

What people actually searched

A neutral, low-to-high review of the searches that triggered your ads over the last 30 days. Spend is relative — a higher-cost term isn't automatically good or bad; it's context for where attention and budget are going. Your main campaign uses Google's newer "AI Max" broad matching, with our standard negative-keyword guardrails applied and reviewed regularly.

Top converting themes

ThemeLeads
Dryer vent cleaning~48
Brand ("[your brand]")~40
Dryer vent cleaning + city / near me~22
Dryer vent repair~7
Dryer vent installation~5

Emerging / watch themes

  • Dryer vent inspection searches appearing
  • Dryer vent installation / replacement growing
  • Bird / wildlife in vent (different service)
  • Appliance repair ("dryer won't dry") — out of scope
  • Price / cost research queries

Search terms by category

The same demand, grouped — the quickest way to see where spend and leads concentrate. (Grouped from keyword-level data; figures approximate.)

CategorySpendLeadsCost / LeadRead
Dryer vent cleaning (core, near-me, city)~$5,600~79~$71Your engine — most volume
Brand ("[your brand]")~$596~58~$10Cheapest, highest intent
Installation / replacement~$1,035~10~$103Higher cost, fewer leads
Repair~$705~7~$100Higher cost; some out-of-scope
Duct cleaning~$348~5~$70Adjacent, performing
Research / cost / inspection~$600~1highBrowsing intent — monitor

Top 50 search terms — neutral review

Sorted by spend (high to low). Showing impressions, clicks, cost and leads. Read levels, not labels.

Search termImpr.ClicksCostLeads
dryer vent cleaning1,135121$2217.9627.3
dryer vent cleaning [metro]26941$777.4211
dryer vent cleaning near me15218$404.408
[your brand]30083$367.8235
dryer vent1258$134.831
dryer vent installation222$111.151
dryer vent installation near me114$104.411
dryer vent repair near me133$91.741
dryer vent loose in wall23$88.141
dryer vent cleaners155$76.730.7
dryer vent cleaner near me93$75.760
dry vent cleaner21$74.141
dryer vent cleaning cost538$71.490
dryer vent cleanout174$68.770.5
dryer vent cleaner nearby51$64.371
bird in dryer vent removal near me11$64.261
dryer vent cleaning service775$64.200
best dryer vent cleaning near me161$64.051
vent [brand]3615$61.697
dryer vent bird removal52$55.970.3
dryer vent cleaners near me233$55.260
dryer [brand]2912$54.625
dryer vents161$52.361
my dryer is not drying71$44.791
vent dryer [brand]22$44.240
dryer vent cleaning [metro]93$43.971
dryer vent cleaning and repair63$41.180
the dryer [brand]54$38.460
bird nest in dryer vent32$36.240
[your brand] [metro]196$34.683
dryer vent specialists near me32$33.281
dryer vent cleaning [metro]31$30.721
dryer duct cleaning142$29.571
dryer vent cleaning [metro]21$28.940
laundry vent cleaning61$28.050
dryer vent clean out131$27.510
install a dryer vent51$26.431
dryer vent cleaning services142$26.170.5
dryer vent installers61$23.831
dryer vent cleaner464$22.811
[your brand] [metro]163$22.581
[metro] dryer vent cleaning211$22.470
dryer vents cleaning31$22.471
duct cleaning dryer vent cleaning21$22.360
the dryer vent guy21$22.130
who to call to clean dryer vent21$21.780
dryer vent replacement near me61$20.570
laundry vent cleaner11$20.201
best company to clean dryer vent31$20.161
dryer vent and duct cleaning near me21$20.030

698 unique search terms ran this period; the 50 above represent the large majority of spend.

Negative Keyword Opportunities

Candidates for ongoing review

Part of our routine optimization. With AI Max broad matching, we continuously review the search-term report and add negatives so budget stays on ready-to-book searches. These are the current candidate groups — neutral, low-spend items included for completeness. None of this is wasted-account management; it's standard ongoing housekeeping.

GroupExample terms seen this periodApprox. spendWhy it's a candidate
Price / cost research"dryer vent cleaning cost," "…prices," "average cost…," "cost of dryer vent cleaning," "dryer duct cleaning cost," "…specials/deals"~$130Research-stage, lower booking intent
Appliance repair (out of scope)"my dryer is not drying," "dryer won't dry," "dryer fixer," "people who fix dryers"~$80Appliance repair, not vent service
Wildlife / bird removal"bird nest in dryer vent," "dryer vent bird removal," "bird in dryer vent removal near me"~$90Different service line
Off-target phrasing"laundry vent cleaning," "laundry vent cleaner," "lint cleaner"~$57Weak/ambiguous intent
Too broad"vent" (single word), "dryer vent" (bare)~$150Very broad; mixed intent
Zero-lead this period (monitor)"who cleans dryer vents," "dryer vent clean out," "dryer vent cleaning companies," "clean dryer vents," "dryer vent service near me"~$110No leads yet — watch before excluding (allow for lag)
Approach: we add clear out-of-scope terms (repair, wildlife, single-word) as negatives now, and monitor the zero-lead and research groups for a cycle before excluding — some convert on a longer cycle, and AI Max needs room to learn. This is the same negative-keyword discipline we run on every account.
Keyword Performance

Where the budget works hardest

Top performing keywords

KeywordLeadsCost/LeadQS
[your brand] (brand)48$1010
dryer vent cleaning47$687
dryer vent cleaning [metro]12.5$798
dryer vent cleaning near me10.5$736
dryer vent repair6.3$847
dryer vent cleaning company4.3$547

Keywords to watch

KeywordSpendLeadsQS
dryer vent replacement$45458
Dryer Duct Cleaning Company$3395
who cleans out dryer vents$27906
dryer vent installation$25317
dryer vent cleaning cost$1510.35
dryer vent inspection near me$990.3
Verdict: Quality Scores are healthy (7–8 on core cleaning terms, 10 on brand), so you're paying a fair price where it matters. The "watch" list is mostly install / replacement / research intent — worth tighter ad-group themes and continued negative review rather than blunt pausing.
Campaign Performance

By campaign

CampaignBiddingSpendLeadsCost/LeadCTRImpr. Share
Main Search Campaign — AI MAXMax Conversions, Target CPA $70$8,386103$81.428.8%60%
Brand Search CampaignMax Conversions (no target)$59658$10.2731.3%78%
Secondary Market Search CampaignMax Conversions$00
Total$8,982161$55.7910.5%
Month-over-month: the main campaign's leads fell ~19% (127 → 103) while its cost-per-lead rose ~36% ($60 → $81). The brand campaign improved (leads +35%, cost-per-lead −23%).
Bidding, Budget & Visibility

Why cost moved — and where budget actually sits

"Impression share" is the slice of available searches where your ad showed. When you miss some, it's for one of two very different reasons — and the response differs for each.

CampaignImpr. shareMissed to BUDGETMissed to RANKWhat that means
Main (AI MAX)60%0%40%Not a budget issue — an Ad Rank one. Higher relevance/quality wins these back, not more spend.
Brand78%18%4%A budget issue — cheap brand searches missed because the daily budget runs out.

Budget utilization

Campaign~Monthly budgetSpendUtilizationRead
Main (AI MAX) — $370/day~$11,100$8,386~76%Room to spend, but rank-limited
Brand — $20/day~$600$596~99%Fully spent / capped
Verdict: The main campaign is not budget-limited — it spends only ~76% of budget and loses 40% of impressions to rank. So more budget there won't add leads until Ad Rank improves and/or the $70 target is tuned to the current auction. The brand campaign is the opposite: fully spent and missing cheap searches — the clearest place added budget converts.

A grounded budget view (not a straight line)

Lead-per-dollar is not linear — costs rise as you push for more volume. These are directional, headroom-aware scenarios, not promises.

MoveWhereRealistic effect
+$10–15/day budgetBrand campaignCaptures much of the ~18% missed brand share at ~$10/lead → roughly +8–15 leads/mo, cheaply
Hold budget, tune target & rankMain campaignBring CPL back toward $70 and recover lost impressions — more leads at the same spend
Add budget to main nowMain campaignLimited effect — it's rank-limited, not budget-limited (do this after rank improves)
Geographic Analysis

Your service area, by performance

Where your budget is landing across the metro service area, last 30 days. (Performance is reported at the city level; finer ZIP-level performance isn't exposed by Google's reporting — we manage ZIP targeting in the campaign settings.)

Strong markets (efficient)

CityLeadsCost/Lead
City A7$26
City B5$27
Sharonville5$33
Day Heights5$33
Independence3$37
Morrow / Carlisle5$40
City C11$48
City D8$50
Metro core39$54

Underperforming markets (watch)

CitySpendLeads
Hamilton$8199 ($91)
Groesbeck$1481 ($148)
Madeira$1361 ($136)
Beckett Ridge$1311 ($131)
Newtown / Ross$1902 (~$95)
City E$1260
City F$940
City G$850
City H$730
Considerations: lean budget toward the efficient markets (City A, City B, City C, City D, the metro core), apply gentle bid reductions in the zero-lead towns (City E, City F, City G, City H), and test locally-worded ad copy for the strongest suburbs. Allow for lag before cutting any market with spend but no leads yet.
Competitive Landscape & Response

How you stack up — and what we'd do about it

From the Auction Insights report for your Search campaigns (last 30 days). "Outranks you" is how often a competitor appeared above you when you both showed.

CompetitorImpr. shareOverlapOutranks youThreat
You — the business61.7%Auction leader
competitor-a.com20.7%28%52%High
competitor-b.com15.5%21%58%Medium-High
competitor-c.com12.1%16%22%Medium
amazon.com13.6%9%34%Marketplace
competitor-d.com<10%7%25%Low

Competitive trend — impression share by month

How the auction has moved over six months. You dipped early in the year, then recovered to a clear lead; competitor-a.com has climbed steadily.

Impression shareDecJanFebMarAprMayJun*
You — the business51%48%47%44%51%58%62%
competitor-a.com<10%<10%<10%13%15%19%20%

*June is a partial month. Your share recovered strongly from the March low; Competitor A has roughly doubled its presence since winter — the trend to watch.

Why they win those impressions

  • Higher or more aggressive bids on overlapping terms
  • Strong ad relevance on specific service searches
  • Landing pages closely matched to the query
  • Sustained presence on "near me" / city searches

Our competitive response

  • Improve ad relevance & tighten ad-group themes (lifts Ad Rank without overbidding)
  • Recover the 40% of main-campaign impressions lost to rank
  • Match landing pages to high-value services
  • Continue review-acquisition support (local trust signals)
Verdict: You lead the auction at ~62% impression share, but competitor-a.com is the genuine local challenger — overlapping a quarter of your searches and outranking you more than half the time. The response is the same set of moves that fix your rank-lost impressions; we're not chasing share for its own sake.
Landing Page Review · GA4

Where your clicks land — and how the page performs

Now backed by your GA4 data. Your ads point to a purpose-built dedicated site (your-dedicated-site.com) — and it's a full multi-page site with service-specific pages, not just one page. Here's how visitors engaged this period.

Landing pageSessionsVisitorsAvg. engagement / session
/  main page1,9481,79443s
/dryer-vent-cleaning29281m 21s
/about-contact24173m 10s
/thankyou.php  form completed19102m 40s
/dryer-fire-prevention10101m 22s
/dryer-vent-repair9911m 02s
/dryer-vent-installation651m 47s
/multi-unit-dryer-vent-services552m 06s
Biggest landing-page opportunity: nearly all paid clicks land on the main page, while your strong service pages sit almost unused. Routing each ad group to its matching page — cleaning ads → /dryer-vent-cleaning, install ads → /dryer-vent-installation, repair ads → /dryer-vent-repair — sends people to a page that already engages better, and pairs directly with tightening the ad-group themes.

Who lands here, by source

This page serves all your marketing, not just Google Ads — so here's the full picture of new visitors this period (GA4).

SourceNew visitorsShareNote
Social — Facebook & Instagram1,00255%Your largest traffic source
Google Ads — Paid Search50228%The focus of this report
Direct28316%Typed in / saved / offline
Other — Google cross-network, organic, LinkedIn, email~35~2%Small contributors

So roughly 28% of new visitors came from Google Ads and the majority from your Facebook/Instagram activity — which is why we use CallRail to isolate the paid-search leads in this report. One technical note: your social ad traffic appears under "social" rather than "paid social" in GA4, so if you want Facebook/LinkedIn ads attributed as paid, those links may need UTM tags. GA4 isn't set up to count leads here (leads are tracked in CallRail + Google Ads), and low repeat-visit rates are normal for a one-time service.

When & How Leads Come In

Timing and device

By time of day (leads)

Demand runs 7am–5pm, peaking around 10am. Lead cost is lowest in the early morning and evening — ~$41 at 8–9am, ~$39 at 2pm, ~$29–31 at 8–9pm — and highest midday/early-evening (~$79 at noon, ~$110 at 6pm). Most efficient windows: 8–10am and 2–4pm.

By device

DeviceSpendLeadsCost/Lead
Mobile$7,142124$57.60
Desktop$1,64235$46.90
Tablet$1982$98.87

Mobile carries 80% of spend (expected for a "call now" service). Desktop quietly delivers the cheapest leads. Tablet is tiny and pricey.

Considerations: the timing pattern supports scheduling/bid emphasis toward the high-efficiency windows; for a phone-led business, aligning ad emphasis with hours you can answer calls protects lead quality. Smart Bidding may manage some of this automatically — we'll adjust where it applies. (Call-level detail — duration, missed calls, repeat vs. new — will come from CallRail once connected.)
Considerations

What we're weighing next

Framed as considerations, not fixes — the account is performing. These are the moves we believe will compound results, roughly in order of impact.

High impact

1. Tune the main campaign's Target CPA & Ad Rank

It's delivering $81 against a $70 target as clicks rose. We'll review whether $70 is realistic for the current auction, and work the levers that bring cost down without losing volume — tighter ad-group themes, relevance, and recovering rank-lost impressions.

High impact

2. Fund the brand campaign

It converts at ~$10/lead and is fully spent, missing ~18% of cheap brand searches. A modest budget increase (~$10–15/day) likely captures 8–15 more leads/month at low cost.

Medium-high

3. Continue negative-keyword review (AI Max)

Add clear out-of-scope terms (appliance repair, wildlife, single-word) now; monitor research/zero-lead terms for a cycle. Standard ongoing housekeeping, kept neutral and lag-aware.

Medium

4. Tighten ad-group themes & add a second ad

Splitting cleaning / install / repair into clearer themes lifts relevance (and rank), and a second responsive ad per group gives us something to test against today's single ad.

Medium

5. Optimise the dedicated landing page you already have

Test headline/offer variations, make click-to-call unmissable on mobile, and trial service-specific messaging (cleaning vs. install) to lift conversion rate further.

Ongoing

6. Geographic & timing refinements

Lean budget toward efficient cities (City A, City C, City D, the metro core), ease back on zero-lead towns, and emphasise high-efficiency hours where bidding allows.

Foundational

7. Correlate leads to outcomes (CallRail)

Connect CallRail job values and close rates to the reporting so we can review lead quality and true cost-per-booked-job, not just lead volume.

Executive Recommendation

If we only did three things

One

Tune the main campaign

Bring its $70 target and Ad Rank back in line so cost-per-lead settles.

Two

Fund the brand campaign

Capture the cheap ~$10 leads it's currently missing.

Three

Keep cutting off-target searches

Routine negative-keyword review keeps budget on ready-to-book demand.

Expected result: a lower, steadier cost-per-lead, more qualified traffic, and additional lead volume — largely without a significant budget increase.
Plan

What happens next

This week
Stabilise & fundReview the main campaign's $70 target against the auction, add clear out-of-scope negatives, and raise the brand budget modestly.
Next 30 days
Tighten & testRefine ad-group themes (cleaning / install / repair), add a second ad to each, apply geographic bid emphasis, and test landing-page variations on your dedicated page.
60–90 days
Measure & scaleRoute ad groups to their matching service pages, add your job values to confirm cost-per-booked-job, then reinvest savings into the best terms, cities and hours.
This is a strong, well-managed account. The plan is about steadying cost, funding what's already cheap, and sharpening measurement — so every dollar works a little harder next month.
Opportunities We're Monitoring

On our radar for you

Beyond this month's actions, here's what we're actively watching and weighing for the account — so you can see the thinking that's always running in the background.

Google AI Max performance

Monitoring how the new broad-match engine finds customers, and keeping negatives tight around it.

Landing-page testing

Service-specific variations and mobile speed on your dedicated page to lift conversion rate.

Brand budget expansion

Capturing more of the cheap, high-intent brand demand currently capped by budget.

New geographic markets

Watching efficient suburbs for room to grow, and easing back where leads aren't coming.

Competitive movement

Tracking competitor-a.com's rising share and defending your position on overlapping searches.

Call & lead quality

Preparing CallRail correlation so we optimise toward booked jobs, not just lead volume.

A few questions for you

  • Roughly what is an average job worth to you, and your typical close rate on calls vs. form leads? (This is the one input we need to report revenue and return — not just leads.)
  • How many of these leads became booked jobs, and what trend are you seeing in bookings or revenue month over month?
  • Can you currently handle more leads, or are you near capacity in any service or area?
  • Any seasonal patterns (busy/slow months) we should plan budget around?
  • Any upcoming promotions or seasonal messaging you'll want reflected in the ads soon?
  • Any services you don't want to advertise (e.g. appliance repair, wildlife removal)?
  • Are there priority towns you most want to grow in?
  • What hours can you reliably answer calls? (Helps us weight budget toward bookable times.)
  • Would you like us to test service-specific landing-page variations (e.g. cleaning vs. install) on your page?

Coming soon

  • Revenue & return — as soon as you share an average job value and close rate, we'll turn the qualified-lead count above into a Booked Jobs → Revenue → Return view.
  • ZIP-level geography (optional) — we report at the city level (which already shows your strong and weak markets); if you'd like finer ZIP-by-ZIP bid precision we can add it from a locations export.